package cn.sc.summer.protocol.vo;

import cn.sc.summer.constant.seneitive.Sensitive;
import cn.sc.summer.constant.seneitive.SensitiveTypeEnum;
import cn.sc.summer.token.enums.LoginTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 类名：UserToken实体类
 *
 * @author a-xin
 * @date 2022/8/31
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "人员信息返回VO")
public class UserInfoVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private String id;

    /**
     * 用户手机号
     */
    @ApiModelProperty(value = "用户手机号")
    @Sensitive(type = SensitiveTypeEnum.PHONE_NUM)
    private String phone;

    /**
     * 用户姓名
     */
    @ApiModelProperty(value = "用户姓名")
    private String name;

    /**
     * 用户年龄
     */
    @ApiModelProperty(value = "用户年龄")
    private Integer age;

    /**
     * 用户邮件
     */
    @ApiModelProperty(value = "用户邮件")
    private String email;

    /**
     * openId
     */
    @ApiModelProperty(value = "openId")
    private String openId;

    /**
     * 用户注册类型
     *
     * @see LoginTypeEnum
     */
    @ApiModelProperty(value = "用户注册类型")
    private String userType;

}
